package com.coded2.mobileposto.model;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;

import org.codehaus.jackson.annotate.JsonIgnore;


/**
 * The persistent class for the distribuidor database table.
 * 
 */
@Entity
@NamedQuery(name="Distribuidor.findAll", query="SELECT d FROM Distribuidor d")
public class Distribuidor extends com.coded2.infra.comum.ComumDTO  {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id_distruibuidor")
	private int idDistruibuidor;

	@Column(name="no_distribuidor")
	private String noDistribuidor;

	
	//bi-directional many-to-one association to Posto
	@OneToMany(mappedBy="distribuidor")
	@JsonIgnore
	private List<Posto> postos;

	public Distribuidor() {
	}

	public int getIdDistruibuidor() {
		return this.idDistruibuidor;
	}

	public void setIdDistruibuidor(int idDistruibuidor) {
		this.idDistruibuidor = idDistruibuidor;
	}

	public String getNoDistribuidor() {
		return this.noDistribuidor;
	}

	public void setNoDistribuidor(String noDistribuidor) {
		this.noDistribuidor = noDistribuidor;
	}

	public List<Posto> getPostos() {
		return this.postos;
	}

	public void setPostos(List<Posto> postos) {
		this.postos = postos;
	}

	public Posto addPosto(Posto posto) {
		getPostos().add(posto);
		posto.setDistribuidor(this);

		return posto;
	}

	public Posto removePosto(Posto posto) {
		getPostos().remove(posto);
		posto.setDistribuidor(null);

		return posto;
	}

	@Override
	@JsonIgnore
	public Object getId() {
		return getIdDistruibuidor();
	}

}